package com.easypan.annotation;

import org.springframework.web.bind.annotation.Mapping;

import java.lang.annotation.*;

/**
 * @author cyb
 * @create 2024-10-07-13:59
 * @description 全局拦截器 可进行参数校验  是一个自定义的注解，用于标记方法，以便在方法执行时进行拦截处理
 */
@Target({ElementType.METHOD}) // 注解加在方法上
@Retention(RetentionPolicy.RUNTIME)  // 在执行时运行
@Documented
@Mapping    // 在 Spring MVC 中，@RequestMapping 注解就是一个 @Mapping 注解，用于映射 HTTP 请求到处理方法
public @interface GlobalInterceptor {
    /**
     * 校验登录
     *
     * @return
     */
    boolean checkLogin() default true;

    /*
     * 功能描述 参数校验
     * @return
     * @author cyb
     * @date 2024/10/7 14:06
     */

    boolean checkParams() default false; // 默认不校验

    /**
     * 校验超级管理员
     *
     * @return
     */
    boolean checkAdmin() default false;
}
